iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
自我挑戰組

工程師必備系列 第 11

DAY11:使用React Router實現前端路由

  • 分享至 

  • xImage
  •  

DAY11:使用React Router實現前端路由

安裝React Router
首先,您需要安裝React Router。您可以使用npm或yarn執行以下命令:

npm install react-router-dom
或者
yarn add react-router-dom

創建路由

跟昨天的code結合。

import React, { useState, useEffect } from 'react';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';

function Home() {
  return <h2>首頁</h2>;
}

function About() {
  return <h2>關於我們</h2>;
}

function App() {
  // 使用 localStorage 中的 count 值初始化狀態
  const initialCount = parseInt(localStorage.getItem('count')) || 0;
  const [count, setCount] = useState(initialCount);

  // 監聽 count 狀態的變化,並將其保存到 localStorage
  useEffect(() => {
    localStorage.setItem('count', count.toString());
  }, [count]);

  const handleIncrement = () => {
    // 使用閉包確保能夠獲取到最新的 count 值
    setCount(prevCount => prevCount + 1);
  };

  const handleDecrement = () => {
    // 使用閉包確保能夠獲取到最新的 count 值
    setCount(prevCount => prevCount - 1);
  };

  return (
    <div>
      <Router>
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/about" element={<About />} />
        </Routes>
      </Router>
      <div className='countContainer'>
        <p>Count: {count}</p>
        <button onClick={handleIncrement} className='add'>
          增加
        </button>
        <button onClick={handleDecrement} className='subtract'>
          減少
        </button>
      </div>
    </div>
  );
}

export default App;

/首頁
https://ithelp.ithome.com.tw/upload/images/20230912/20162215XGu7L6mZ1O.png

/about
https://ithelp.ithome.com.tw/upload/images/20230912/20162215C77rQPLD8S.png


上一篇
DAY10:使用本地存儲在 React 中保持狀態
系列文
工程師必備11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言